package com.secretsanta.domain;

import java.util.ArrayList;
import java.util.HashSet;
import java.util.List;
import java.util.Set;

/**
 * Created by Parker on 11/16/2014.
 */
public class User {
    private String displayName;
    private String username;
    private int id;
    private Set<User> userBlacklist = new HashSet<User>();
    private String email;
    private String phoneNumber;
    private User presentReceiver;

    public User(String displayName, String username, int id, Set<User> userBlacklist, String email,
                String phoneNumber, User presentReceiver) {
        this.displayName = displayName;
        this.username = username;
        this.id = id;
        this.userBlacklist = userBlacklist;
        this.email = email;
        this.phoneNumber = phoneNumber;
        this.presentReceiver = presentReceiver;
    }

    public User(String displayName, String username, int id, Set<User> userBlacklist, String email,
                String phoneNumber) {
        this.displayName = displayName;
        this.username = username;
        this.id = id;
        this.userBlacklist = userBlacklist;
        this.email = email;
        this.phoneNumber = phoneNumber;
    }

    public User(String displayName, String username, int id, String email,
                String phoneNumber) {
        this.displayName = displayName;
        this.username = username;
        this.id = id;
        this.email = email;
        this.phoneNumber = phoneNumber;
    }

    public String getDisplayName() {
        return displayName;
    }

    public void setDisplayName(String displayName) {
        this.displayName = displayName;
    }

    public String getUsername() {
        return username;
    }

    public void setUsername(String username) {
        this.username = username;
    }

    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }

    public Set<User> getUserBlacklist() {
        return userBlacklist;
    }

    public void setUserBlacklist(Set<User> userBlacklist) {
        this.userBlacklist = userBlacklist;
    }

    public String getEmail() {
        return email;
    }

    public void setEmail(String email) {
        this.email = email;
    }

    public String getPhoneNumber() {
        return phoneNumber;
    }

    public void setPhoneNumber(String phoneNumber) {
        this.phoneNumber = phoneNumber;
    }

    public User getPresentReceiver() {
        return presentReceiver;
    }

    public void setPresentReceiver(User presentReceiver) {
        this.presentReceiver = presentReceiver;
    }

    @Override
    public String toString() {
        String receiver = presentReceiver != null ? "=> " + presentReceiver.getDisplayName(): "";
        return displayName + receiver;
    }
}
